Classic Component Set for Delphi
Classic Software

Please refer to the file CSCCS.WRI for installation instructions and
further information.

===========================================================================
Version 1.10 Changes:
===========================================================================

TcsStringTable (used by TcsGrid)
--------------------------------

Fixed problem with OnChange event not firing when columns where deleted.

TcsSculptButton
---------------

New component.

TcsFormPanel
------------

Changed Resize method to prevent problems occurring if called when the
component is being destroyed.

Resize method is now used by SetForm method, duplicated code removed.

Fixed problem (which only occurred under Delphi 2) with the previous form
not being hidden correctly within SetFormName.

TcsNotebook
-----------

Corrected problem which occurred when there were invisible pages and you
changed the BitmapAlignment, SidewaysText, TabFont, TextAlignment or
UnselectedColor properties.

Clicking on a tab at design-time can now be used to change pages.
A "hand" cursor now appears when positioned over the tabs at design-time.

Added new public method TabAtPos(X, Y: Integer) which returns the index
of the tab at the specified location or -1 if no tab found.

Changed TabRect from private method to protected method to allow use
by descendant classes.

Corrected the Next/Previous Page commands on the design-time right-click
menu so that you are now able to skip over invisible pages to get to the
next/previous visible page.

Corrected problem which occurred when the active page was made invisible
at design-time.

Added Move method to TcsPageAccess so that pages can be moved at run-time,
e.g. by using csNotebook1.Pages.Move(0, 2); { make 0th page the 2nd page }.

TcsGrid
-------

Changed so that when new rows/columns are added or inserted when the
goRowSizing/goColSizing options are in effect the next-to-last row/column
will now retain its previous size.


===========================================================================
Version 1.05 Changes:
===========================================================================

TcsHiResTimer
-------------

16-bit version changed so that the required DLL (CSTIME16.DLL) is
imported dynamically; this allows the component library to be rebuilt
or applications containing the component to still be run when the DLL is
not found.
Now compatible with Delphi 2 (32-bit).  Note that no DLL is required
when using the component with Delphi 2.

TcsNotebook
-----------

Fixed several instances where objects in internal lists were not being
freed correctly.

TcsFormPanel
------------

Changed so that a case-insensitive comparison is used when comparing
FormName against the list of auto-created forms.


===========================================================================
Version 1.04 Changes:
===========================================================================

32-bit compatibility
--------------------

All components except TcsAutoDefaults and TcsHiResTimer are now compatible
with the 32-bit version of Delphi 2.  Refer to CSCCS.WRI for a list of the
files which differ between the 16 and 32-bit versions.


TcsNotebook
-----------

1.  Dynamic creation of a TcsNotebook in a form's OnFormCreate event
    handler is now possible.

2.  Pages now have a PageVisible (Boolean) property.  Pages can be made
    invisible, for example, to completely hide a certain tab if the current
    user does not have security clearance to access that page.  You can
    change the visibility of tabs at design-time from within the Pages
    property editor.

3.  Page changing (via mouse-click, accelerator key or programmatically)
    will now only occur if the OnExit event handlers for the active control
    doesn't prevent the focus to be changed to the notebook, e.g. no page
    change (or tab click event) will occur when a control contains invalid
    data and its OnExit handler is resetting focus back to itself so that
    its value can be corrected.

4.  A new Bitmap property has been added to TcsNotebook.  Bitmaps must now
    be assigned to tabs at design-time using this new property instead of
    within the Pages property editor (using the standard Picture Editor).
    This new property allows access to the bitmap for the currently
    selected page so that any 3rd party Picture Editor you have installed
    will be used to select the bitmap.

5.  Bitmaps are now displayed 'transparently', i.e. their background colour
    is replaced with the appropriate background colour of the tab.  Note
    that the background (transparent) colour of a bitmap is considered to
    be the colour of the first pixel on the last row of the bitmap.

6.  Bitmaps can now contain multiple glyphs.  New NumGlyphs properties have
    been added to TcsNotebook and TcsPage.  The TcsNotebook.NumGlyphs
    property allows access to the NumGlyphs property for the currently
    selected page.  NumGlyphs can be 1..3.  The first glyph is used when
    the tab is Selected, the second when the tab is Disabled and the third
    when the tab is Unselected (but not disabled).  If only one glyph is
    present then it is used for all three states (and modified as
    necessary).  Each page has its own NumGlyph property.

7.  A new TextAlignment of taInvisible has been added, this allows
    caption-less tabs, e.g. when you only want the glyph to be displayed.

8.  A new BitmapAlignment of baInvisible has been added.  This allows you
    to (temporarily) hide the glyphs by changing this one property without
    having to clear and the later re-assign the bitmap for each page.

9.  TcsNotebook now respects any focus changes made in the OnPageChange
    event handler, e.g. when you want to set focus to a specific control on
    the newly selected page.

10. New TcsNotebook methods TabNumGlyphs[Index: Integer]: Integer and
    TabPageVisible[Index: Integer]: Boolean added to allow programmatic
    access to the page's new NumGlyphs and PageVisible properties
    respectively.

11. The margin between the sides of the tab and the area used to display
    the tab's text and glyph has been increased by 1.

12. Incorrect typecast of FRowIdentities.Items[] corrected (one instance
    only; not causing any known problems).


===========================================================================
Version 1.03 Changes:
===========================================================================

TcsNotebook
-----------

Various changes made to TcsNotebook and supporting files so that
specific notebook pages can be enabled/disabled.
Added PageEnabled property to TcsPage.

Changed TcsNotebook.HasLoaded from public property to private property.
Changed TcsNotebook.InvalidateTab from public method to private method.
Changed TcsNotebook.Reconfigure from public method to private method.
Changed TcsNotebook.UpdateTabCaption from public method to private method.

Fixed the error which occurred if bitmaps were changed while the
notebook was being loaded (sequence of events that caused this not
determined).

Fixed the error which occurred if certain controls were used on the
TcsNotebook's pages and the current page was also being changed in
the form's OnCreate event handler.

Fixed the error which occurred if the Show method of a control on a
TcsNotebook page was used before the notebook had been initialised/shown,
e.g. in the form's OnCreate event method.

===========================================================================
Version 1.02 Changes:
===========================================================================

TcsNotebook
-----------

Removed BitmapName property from TcsPage.
Changed Bitmap property in TcsPage so that it is now read-write and
published.  Bitmaps are now assigned at design-time using the
Picture Editor dialog box.

NOTE: Because the BitmapName property is no longer valid you will
      (if using bitmaps on tabs) need to:

        a) Reload existing forms which contain TcsNotebook components.
        b) Choose Ignore or Ignore All when you get the "Error Reading
           Form" dialog box saying the TcsPage.BitmapName property does
           not exist.
        c) Re-assign the required bitmap to each tab by selecting the
           appropriate bitmap file.
        d) Change or remove any source code references to the
           BitmapName property.

      If you need to determine which bitmaps you previously assigned,
      you can open the form file in ASCII mode in the source code
      editor (before reloading it) to check the old BitmapName
      property values.

Added UnselectedTabColor property.
Added UseUnselectedTabColor property.

Corrected behaviour of SidewaysText property when the component
is first loaded.  Previously, if SidewaysText had been specified
as False and TabOrientation was toLeft or toRight, SidewaysText
would be initialised to True when the form was reloaded.

SidewaysText property is no longer reset to True when changing
TabOrientation from toLeft to toRight or vice versa.

Corrected behaviour of Enabled property for each page. Previously,
each page was always Enabled (even if not the current page), which
may have caused problems if relying on only the current page being
Enabled.

===========================================================================
Version 1.01 Changes:
===========================================================================

TcsNotebook
-----------
Corrected 'List index out of bounds' error which occurred if the
last tab was the current tab and it was deleted.

===========================================================================
